/*
 * @Description: 
 * @Version: V1.0.0
 * @Author: 常青
 * @Date: 2024-08-12 15:03:56
 * @LastEditTime: 2024-09-17 09:33:34
 * @FilePath: index.ts
 */
// 1. 导入 Vue 的 Component 类型
import { Component } from 'vue';

// 1. 使用 import.meta.glob 动态导入 .vue 文件
const modules = import.meta.glob('./*.vue', { eager: true });

// 2. 声明 map 对象，并指定它是一个包含组件的对象
const map: Record<string, Component> = {};

// 3. 遍历 modules 对象的键，并将每个文件对应的 Vue 组件注册到 map 中
Object.keys(modules).forEach(file => {
  const modulesName = file.replace('./', '').replace('.vue', '');
  map[modulesName] = (modules[file] as any).default;
});

// 4. 将所有组件放入 globalComponents 对象
const globalComponents: Record<string, Component> = {
  ...map,
};

// 5. 导出 globalComponents
export default globalComponents;

